package com.mercycrazy.springframework.beans.factory;

/**
 * 由 {@link BeanFactory} 内使用的对象实现的接口，这些对象本身就是工厂。如果一个 Bean 实现了这个接口，
 * 它就会被用作一个要公开的对象的工厂，而不是直接作为一个将被公开的 Bean 实例本身
 *
 * @author <a href="mailto:1443424326@qq.com">mercycrazy</a>
 * @since 2022-11-27
 */
public interface FactoryBean<T> {

    T getObject() throws Exception;

    Class<?> getObjectType();

    boolean isSingleton();
}
